﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using Telerik.Web.UI;
using SMA.GENTEv1;

public partial class Protegidos_Pessoas_DadosPessoa__popup_ppTelefone : System.Web.UI.Page
{
    protected int idPessoa = 0;
    private int id = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        if ((Session["IdPessoa"] != null))
            idPessoa = int.Parse(Session["IdPessoa"].ToString());

        if (Request.QueryString["Id"] != null)
            id = Int32.Parse(Request.QueryString["Id"].ToString());

        if (!IsPostBack)
        {
            CarregarTipoTelefone(rcbTipoTelefone);
            CarregarStatus(rcbStatus);

            if (id != 0)
                CarregarPessoaTelefone();
        }
    }

    #region Eventos
    protected void btnSalvar_Click(object sender, EventArgs e)
    {
        PessoaTelefone telefone = new PessoaTelefone();
        telefone.IdTelefonePessoa = id;
        telefone.IdPessoa = idPessoa;
        telefone.TipoTelefone = new TipoTelefone(Int32.Parse(rcbTipoTelefone.SelectedValue.ToString()));
        telefone.DddTelefone = int.Parse(txtDDD.Text);
        telefone.Telefone = int.Parse(txtTelefone.Text);
        if (txtRamal.Text != "")
            telefone.Ramal = int.Parse(txtRamal.Text);
        if (txtNomeRecado.Text != "")
            telefone.RecadoNome = txtNomeRecado.Text;
        telefone.StatusTelefone = new StatusTelefone(Int32.Parse(rcbStatus.SelectedValue.ToString()));

        telefone.Salvar();

        ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind('telefone');", true);
    }
    protected void btnLimpar_Click(object sender, EventArgs e)
    {
        Limpar();
    }
    #endregion

    #region Metodos
    private void CarregarTipoTelefone(RadComboBox combo)
    {
        try
        {
            TipoTelefone tipoTelefone = new TipoTelefone();

            combo.DataTextField = "Descricao";
            combo.DataValueField = "IdTipoTelefone";
            combo.DataSource = tipoTelefone.SelectAll();
            combo.DataBind();

            InserirSelecione(combo);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    private void CarregarStatus(RadComboBox combo)
    {
        try
        {
            StatusTelefone status = new StatusTelefone();

            combo.DataTextField = "Descricao";
            combo.DataValueField = "IdStatusTelefone";
            combo.DataSource = status.SelectAll();
            combo.DataBind();

            InserirSelecione(combo);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    private void InserirSelecione(RadComboBox combo)
    {
        try
        {
            combo.Items.Insert(0, new RadComboBoxItem(" -- Selecione -- ", "0"));
            combo.SelectedIndex = 0;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    private void CarregarPessoaTelefone()
    {
        PessoaTelefone telefone = new PessoaTelefone(id);

        rcbTipoTelefone.SelectedValue = telefone.TipoTelefone.IdTipoTelefone.ToString();
        txtDDD.Text = telefone.DddTelefone.ToString();
        txtTelefone.Text = telefone.Telefone.ToString();
        if (telefone.Ramal != 0)
            txtRamal.Text = telefone.Ramal.ToString();
        if (telefone.RecadoNome != "")
            txtNomeRecado.Text = telefone.RecadoNome;
        rcbStatus.SelectedValue = telefone.StatusTelefone.IdStatusTelefone.ToString(); ;

    }
    private void Limpar()
    {
        txtDDD.Text = "";
        txtTelefone.Text = "";
        txtRamal.Text = "";
        txtNomeRecado.Text = "";
        
        CarregarTipoTelefone(rcbTipoTelefone);
        CarregarStatus(rcbStatus);
    }
    #endregion

}
